草庐IT

Angular 单元测试简介

全部标签

javascript - AngularJS:基于 Google Maps API 的单元测试应用程序

我需要为大量使用GoogleMapsAPIv3(计算距离、在map中创建标记等)的AngularJS应用程序编写单元测试,并且我知道我应该以某种方式创建或模拟mapCanvas,以便我可以对函数进行单元测试使用GoogleMapsAPI并在该Canvas上创建标记,但我不确定该怎么做,而且我找不到任何关于如何对基于GoogleMapsAPI的应用程序进行单元测试(最好使用AngularJS/Jasmine)的好的教程/资源。任何像这样的单元测试的工作示例——即使是最简单的示例——将不胜感激。 最佳答案 从您上面的评论来看,您似乎可能

c# - 如何通过 JavaScript 回调在 C# 中运行 QUnit 测试并返回测试结果?

在我的几个项目中,我使用MVC模式将(关注的)代码分成3层。模型层和控制层都在C#上运行,因此我使用MSTest或NUnit等测试框架来验证这些层的功能需求。对于View层,我使用QUnit来测试JavaScript文件。但是,我无法将QUnit作为自动化测试执行,因为MSTest不直接支持测试网页。我需要像下面的逻辑一样在MSTest中运行它。[TestMethod]publicvoidJavaScriptTest(){varresult=QUnit.Test('~/QUnit/test1.htm');Assert.IsTrue(result.Failed解决方案必须使用QUnit中

javascript - ng-click 与 Angular 中的 watch

我有一个加载JSON文件然后使用该数据创建HTML5Canvas绘图的指令(即json数据包含文本、颜色、位置等内容)。我还有许多输入字段(文本、slider等),允许用户操作绘图。我看到我可以$watch这些元素中的每一个或使用ng-click并调用一个函数-有推荐的方法吗?一些可能相关的注释:表单元素和Canvas都是同一个指令模板的一部分表单元素对变化使用react,因此没有提交按钮这些表单元素值中的每一个都经过检查,可能会进行转换,然后修改json字符串。然后我调用一个刷新函数,用新数据重新加载我的Canvas。我也有可能以错误的方式处理这个问题......

javascript - 以编程方式测试特定的 css 属性兼容性(调整文本区域的大小支持)

我正在跨浏览器网站上实现一个可调整大小的文本区域。现在在FF/Chrome/Safari中,以下内容:textarea{resize:both;}像魅力一样工作。一点点嗅探让我来到这里:http://www.w3schools.com/cssref/css3_pr_resize.asp我在哪里得知Opera和IE不支持这个属性。没什么大不了的,下面的javascript可以负责检测,其中包含对resizable()的jqueryUI调用以实现功能:if((navigator.userAgent.indexOf('Trident')!=-1)||(navigator.userAgent.

javascript - 测试是否加载了所有图像

这是我尝试测试是否所有图像都已加载的能力:for(vari=0;i问题是一旦循环完成,变量i就是imgCount。这意味着所有其他“已加载”标志在加载图像时永远不会设置为true。是否有某种方法可以将“已加载”属性添加到图像,或者是否有一些解决此问题的方法? 最佳答案 您需要使用闭包定义onload函数:for(vari=0;i这是一个jsFiddle这证明了这种在类似场景中的工作。另外,请注意,您当前选择作为答案的解决方案实际上不起作用:imgArr[i].onload=(function(){loadArr[i]=true;})

javascript - 在 JQueryUI 小部件的 QUnit 测试中测试可见性

这对其他人来说可能很明显,但我没有通过搜索找到它,所以在这里发布问题和一个可能的答案。背景:自定义JQueryUI小部件使用widgetfactory在小部件中,某些元素会根据其他数据/选项隐藏或显示。创建单元测试以验证它们是否正确显示/隐藏。我认为我的单元测试都可以在内存中创建自己的元素,类似于thisoldanswer.从这个例子中删除了实际的小部件部分:test('show/hide',1,function(){varsomecondition=true;vardiv=$('').hide();if(somecondition)div.show();equal(somecondi

javascript - 在 Angular 中获取所选选项的 $index

例如:显然,这是行不通的:remove如果不在中继器中,如何访问$index? 最佳答案 您不需要跟踪索引,只需在removeCategory函数中从类别模型中删除selectedCategory:你的Controller可能看起来像这样JSFiddle:app.controller("myCtrl",['$scope',function($scope){$scope.model={selectedCategory:{},categories:[{title:"Cat1"},{title:"Cat2"}]}//init$scope.

javascript - 为什么 jQuery Mobile 使用数据 Angular 色属性而不是类?

这可能是一个幼稚的问题,但我正在学习jQueryMobile,不确定为什么所有内容都与data-role属性相关。似乎即使Angular色与样式相关,他们也在class上使用data-role我理解对于语义,data-role在很多情况下都有意义,但它似乎在这里被滥用了。这样的查找不会更慢吗?为什么他们使用data-role而不是class?感谢您的任何见解。 最佳答案 为什么数据他们可以简单地使用role作为属性(就像其他框架一样),但这会使生成的HTML无效。因此,一个data-被添加到每个属性名称。为什么不上课我认为这样做的主

javascript - Angular : Mixing provider and custom service in module's config/run

我想做这样的事情:angular.module('app',[]).config(['$httpProvider','customAuthService',($httpProvider,customAuthService)->$httpProvider.defaults.transformRequest.push(data)->ifcustomAuthService.isLoggedIndata['api_key']={token:@token}])根据Angularjsdoc,我不能在我的module的configblock中执行此操作,因为那里不允许自定义服务,我也不能在run中执

javascript - 如何在不需要运行浏览器或服务器的情况下在 Maven 中运行 javascript 单元测试?

我致力于开发包含javascript的网络内容,在某种程度上,它包含比动画和移动值更多的逻辑。我想为这种逻辑实现一些单元测试。我想找到一些方法用javascript编写这些测试,并在我用maven构建web项目时让它们运行。因为我要测试的代码处理方法或对象中包含的逻辑内容,所以我觉得我不应该让服务器运行。另外,我读过Rhino之类的东西,这让我觉得应该没有必要让浏览器从某处开始只是为了执行javascript。我并不是特别关心浏览器的差异——我很少发现我在该领域遇到问题,而且当我遇到问题时,总是与样式或罕见的DOM问题有关。我想测试一下我能否将1加1最后得到2。我在谷歌上搜索了一些,发